package cn.kgm.user.server.struct;

import cn.kgm.user.dto.dto.UserTypeSysSaveDTO;
import cn.kgm.user.dto.dto.UserTypeSysUpdateDTO;
import cn.kgm.user.dto.entity.UserTypeSys;
import cn.kgm.user.dto.query.UserTypeSysPageQuery;
import cn.kgm.user.dto.vo.UserTypeSysVO;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * # 技术改变自己 #
 * toB客户
 * @author kappi
 * @date   2024-04-08 15:08:08
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface UserTypeSysMappers {
    UserTypeSysMappers INSTANCE = Mappers.getMapper(UserTypeSysMappers.class);

    /**
     * 将 UserTypeSysSaveDTO 映射成 UserTypeSys 对象
     *
     * @param source 源对象
     * @return UserTypeSys
     */
    UserTypeSys mapToEntity(UserTypeSysSaveDTO source);

    /**
     * 将 UserTypeSysUpdateDTO 映射成 UserTypeSys 对象
     *
     * @param source 源对象
     * @return UserTypeSys
     */
    UserTypeSys mapToEntity(UserTypeSysUpdateDTO source);

    /**
     * UserTypeSysPageQuery 映射成 UserTypeSys 对象
     *
     * @param source 源对象
     * @return UserTypeSys
     */
    UserTypeSys mapToEntity(UserTypeSysPageQuery source);

    /**
     * UserTypeSys 映射成 UserTypeSysVO 对象
     *
     * @param source 源对象
     * @return UserTypeSysVO
     */
    UserTypeSysVO mapToEntity(UserTypeSys source);

    /**
     * UserTypeSysVO 映射成 UserTypeSys 对象
     *
     * @param source 源对象
     * @return UserTypeSysVO
     */
    UserTypeSys mapToEntity(UserTypeSysVO source);

}
